我继承了 Holo Light Theme 并使用以下内容自定义了 ActionBar 的背景:
styles.xml 的内容
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:background">@drawable/actionbar_background</item> </style> <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/ActionBar</item> </style> </resources> actionbar_background.xml 的内容 <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@raw/actionbar_background" android:tileMode="repeat" />
图像没有被重复,而是被拉伸,知道为什么不应用 android:tileMode=”repeat” 吗?
提前致谢
Drawable d=getResources().getDrawable(R.drawable.background_image_name); getActionBar().setBackgroundDrawable(d);
上面的代码设置了操作栏的背景图片。 希望能帮助到你。
感谢#android-dev IRC 频道上的 Romain Guy,这是 honeycomb / Android 3.0 上的一个已知错误,将在下一个版本中修复。从那时起,唯一的解决方案就是从代码中完成,它可以工作:-)
final ActionBar actionBar = getActionBar(); BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); background.setTileModeX(android.graphics.Shader.TileMode.REPEAT); actionBar.setBackgroundDrawable(background);